Method and apparatus for implementing shared editing of document

ABSTRACT

The present invention provides a method for implementing shared editing of a document, including: dividing a document into multiple portions; when a user modifies the document, providing at least one portion of the multiple portions for the user to modify, wherein the at least one portion is prohibited to be modified by another user at the same time; and storing the modified by the user. Therefore, multiple users may edit a same document simultaneously by utilizing a docbase management system, and the modifications made by each user to the document can be stored wholly. Moreover, because the document is managed by one party, the security of the document can be guaranteed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of PCT/CN2008/071132 filed May 29,2008, which is the PCT filing of CN 200710099733.5 filed May 29, 2007,both of which applications are fully incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to the field of interoperation ofelectronic documents, and particularly, to a method and apparatus forimplementing shared editing of a document.

BACKGROUND OF THE INVENTION

In practice, there is often happened that multiple users need to performshared editing of an electronic document. Currently, the shared editingof a document in a docbase management system is generally implemented asfollows: the document to be shared and edited is transferred between thesystem and the multiple users through an e-mail system or an officeautomation system, and after one user finishes editing the document, thedocument is sent to another user to be edited.

The above solution for shared editing of a document has a fewdeficiencies: 1) multiple users can not edit the same documentsimultaneously, but having to edit the document one by one just as in arelay race, which lowers the efficiency of document editing and bringstroubles such as missing contents or distorted contents of a documentduring the transfer of the document; 2) multiple copies of the documentare generated during the transfer of the document, which brings troublesfor centralized management of documents; when the security level of thedocument is high and the document is forbidden to be copied, the sharedediting of the document between multiple users can not be implemented.

Currently, in some document storage systems, multiple user terminals canopen and browse the same document simultaneously, where one userterminal does not know modifications to the document made by anotheruser terminal accessing the same document, thus confliction and chaoswill arise when all of the multiple user terminals modify the samedocument, and the security of the document is impaired greatly.

It can be seen that there is still no good solution for implementingshared editing of a document by multiple users.

SUMMARY OF THE INVENTION

The present invention provides a method and an apparatus forimplementing shared editing of a document so as to implement sharedediting of multiple users on a document.

To attain the above objective, the technical solutions of the presentinvention are as follows.

A method for implementing shared editing of a document includes:dividing a document into portions; when a user modifies the document,

providing at least one portion of the portions for the user to modify,wherein the at least one portion is prohibited to be modified by anotheruser at the same time; and

storing the portion modified by the user.

An apparatus for implementing shared editing of a document includes:

a first module, adapted to provide at least one portion of a documentfor a user to modify when the user modifies the document, wherein thedocument comprises at least two portions, and the at least one portionis prohibited to be modified by another user at the same time;

a second module, adapted to store the portion modified by the user.

An apparatus for implementing the shared editing of a document includes:

a first module, adapted to present at least one portion of a documentprovided by a docbase management system to a user; and

a second module, adapted to store modifications made by the user to theat least one portion into the docbase management system.

It can be seen from the above technical solutions that according to thepresent invention, through unified management of a document, dividingand storing the document according to portions, the user can select andedit a certain layer of a page in the document when needing to edit thedocument. Specifically, the shared editing of the document isimplemented by making different users edit different layers. In thisway, multiple users can edit the same document simultaneously, and themodifications made by each user to the document can be stored wholly.Moreover, because the document is managed centralized, the security ofthe document can be guaranteed effectively.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart illustrating a general method for implementingshared editing of a document according to an embodiment of the presentinvention.

FIG. 2 is a flowchart illustrating a detailed method for implementingshared editing of a document according to an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will be illustrated in detail hereinafter withreference to the accompanying drawings to make the objective, solutionand merits thereof more obvious.

In the present invention, the basic idea for implementing shared editingof a document includes: managing the document by one party, storing thedocument according to pages and layers, and taking layer as the unit forediting when the document is edited. Specifically, when a same page ofthe document is edited by different users, different layers includingthe page are selected for the different users to edit so as to avoidconfliction resulted from different users editing the same document.

An embodiment of the present invention adopts a docbase managementsystem. The docbase management system is a complicated software system,which provides functions such as organizing, managing, securing, storingand displaying of mass amount of documents. In the description of a basepatent application submitted earlier by the applicant, whose applicationnumber is CN200510131072.0, a document processing system including adocbase management system, a storage device and an application softwareis provided. Data of the docbase management system is stored in thestorage device, and the docbase management system is connected with theapplication software via a standard invoking interface. The standardinvoking interface is defined based on predefined actions and objects.Operations performed by the application software on a document areconverted into operations performed on an abstract model such as apredefined universal document model, where the application softwaresends an instruction to the docbase management system through thestandard invoking interface, and the docbase management system performsan operation on the document stored in the storage device according tothe instruction of the application software. The universal documentmodel may include multiple levels such as document sets, documents,pages, layers, object groups and layout objects, and so on.

FIG. 1 is a flowchart illustrating a general method for implementingshared editing of a document according to an embodiment of the presentinvention. As shown in FIG. 1, the method includes steps as follows.

In step 101, a document is stored by a docbase management system.

In step 102, different user terminals going to edit a same page of thedocument select different layers of the page to edit, and store thecontents edited.

In step 103, the user terminals accessing the page obtain and displaythe contents stored in step 102.

The above is a general description of the method for implementing sharedediting of a document according to an embodiment of the presentinvention.

A docbase management system for implementing shared editing of adocument according to an embodiment of the present invention includes:

a first module, adapted to provide at least one portion of a documentfor a user to modify when the user modifies the document. The documentincludes at least two portions and each portion is prohibited to beprovided simultaneously for different users to modify;

a second module, adapted to store contents of the document according tocontents of the portion modified by the user.

The docbase management system may further include a third module,adapted to perform one or more of the following processes:

after the second module stores the contents of the document according tocontents of the portion modified by the user, providing contents of themodified portion to another user accessing the modified portion;

when another user queries information of the document, determiningwhether the queried portion includes the modified portion; if yes,providing the modified portion for the another user;

after the second module stores the contents of the document according tocontents of the portion modified by the user, notifying other usersaccessing the modified portion.

A user terminal apparatus for implementing shared editing of a documentaccording to an embodiment of the present invention includes:

a first module, adapted to present at least one portion of a documentprovided by a docbase management system to a user;

a second module, adapted to provide modified contents of the at leastone portion modified by the user for the docbase management system tostore;

a third module, adapted to send a query request for obtaining amodifying status of the document to the docbase management system,wherein the query request includes information of at least one portionof the document, receive an updating notification from the docbasemanagement system, and provide contents of the portion updated for thefirst module for presenting.

Details of the method will be described by referring to embodiments ofthe present invention. FIG. 2 is a flowchart illustrating a detailedmethod for implementing shared editing of a document according to anembodiment of the present invention. As shown in FIG. 2, the methodincludes steps as follows.

In step 201, a document is stored by a docbase management system.

In this step, the docbase management system may divide and store thedocument according to pages and layers, where each layer includes layerdata and layer attributes.

The dividing and storing the document according to pages and layers mayinclude: dividing data of the document into groups, each group of datais taken as a layer, each layer is stored in sequence, and one layer isoverlaid with another layer like one piece of glass over another pieceof glass. The grouping of the data of the document may adopt any manner.For example, the whole document can be a group, one section of thedocument can be a group, one page of the document can be a group, or oneparagraph in one page of the document can be a group. The docbasemanagement system manages and controls each layer respectively. Forfacilitating management of each layer of the document, a layer mayinclude layer data and layer attributes. The layer data includes texts,graphic elements and images as well as attribute data thereof; the layerattributes include a layer identifier, a display sequence, transparency,a data abstract of the layer, the user currently editing the layer andthe start time of the editing, and so on. The data abstract of the layeris a specific character string representing the data contents of thelayer, and is obtained by processing the data of the layer utilizing acertain algorithm. By processing the data of the layer utilizing thealgorithm, the character string obtained is different if the data of thelayer is different. Thus the data abstract of the layer can be utilizedfor simplifying comparison between two groups of mass amount of data.The algorithm may be MD5.

When the document is divided and stored according to pages and layers,the manner adopted for dividing each page is independent with that ofother pages. For example, the first page may be divided into two layers,and the second page may be divided into three layers, and so on. Whenmultiple pages of the document are taken as a layer, the number of pagesin one layer may be different from that in other layers. For example,the first layer may include two pages, and the second layer may includefour pages, and so on. When a new document is added to the docbasemanagement system, the docbase management system usually initiates thenew document with only one layer.

An example in which it is supposed that user A accesses a certaindocument in the docbase management system through a user terminal forediting will be illustrated in the following, where a document isdivided into layers based on page. It should be noted that other mannersfor dividing a document into layers, e.g., one layer includes more thanone page, can be deduced based on the same principle as that of theexample, and will not be described with reference to examples. A userterminal may include an editing software with editing functions. In thefollowing descriptions, operations performed by the user A through theuser terminal are also referred to as operations performed by the userA.

In step 202, different user terminals going to edit a same page of adocument select different layers of the page from the docbase managementsystem and edit the different layers.

In this step, the selecting a layer of the page by a user may include:the docbase management system allocates a layer other than layersallocated to other users to the user; or the user establishes a newlayer; or the user initiatively selects a layer of the page which isexisting in the docbase management system and is allowed to be edited.

When the docbase management system allocates a layer other than layersallocated to other users to the user, the docbase management system mayadopt a predetermined policy, e.g. the docbase management system mayrecord the layer corresponding to each user, and always allocates thesame layer to the same user, where the docbase management system mayestablish a relation between a layer and characteristics of a user, thecharacteristics of the user may be a user name or other identifications;or the docbase management system randomly allocates a layer to the userbased on the utilizing status of each layer.

When the user initiatively selects a layer of the page, the docbasemanagement system has to record the allocation status and utilizingstatus of each layer in advance. When a certain layer is being edited bya user, the docbase management system locks the layer, e.g. sets thestatus of the layer to be a locking status, and forbids other users toedit the layer. When selecting a layer of the page, the user terminalcan recognize which layers are allowed to be edited (e.g., the docbasemanagement system can present to the user terminal the layers which areallowed to be edited, or present information indicating whether a layeris allowed to be edited to the user terminal), the user terminal selectsa layer from the layers which are allowed to be edited and edits theselected layer, so as to guarantee that different user terminals editdifferent layers.

When a user terminal selects a layer, any one of the above three mannerscan be adopted according to practical situations.

In step 203, the user edits the layer selected.

In this step, user A may add a text, a graphic element and image datainto the layer through the user terminal, and set attributes of theobjects, e.g. set the font, text size and text color and set the graphicelement as a line, a rectangle or an ellipse, and so on.

In step 204, the user stores the contents edited.

In this step, storing the contents edited may include: storing thecontents whenever the user issues a request, and/or storing the contentswhen a predefined storing condition is satisfied.

When the contents are stored when a predefined storing condition issatisfied, the storing condition may be pre-set; when the storingcondition is satisfied, the contents edited are stored automatically.The predefined storing condition may include: a time interval, which maybe a fixed time interval or a time interval adjusted adaptivelyaccording to situations. For example, the predefined storing conditionmay be that the contents are stored once every 2 minutes; after thecontents are stored for n times, it is detected that the contents of thelayer are modified every time when stored, and thus the time intervalcan be shortened to 1 minute; then after the contents are stored for ntimes, it is detected that the contents of the layer are not modifiedevery time when stored, and the time interval can be increased to 1.5minute. In this way, the time interval can be adjusted dynamicallyaccording to real-time situations. The predefined storing condition mayalso include: when it is detected that the contents of the layer arechanged, the contents of the layer will be stored; or when it isdetected that the amount of modifications to the contents of the layerreaches a designated amount, e.g., the modifications to one line isaccomplished and etc., the contents of the layer will be stored.

In order to make other users learn about the modifications made by theuser to the layer, the embodiment may also include the following steps.

In step 205, all users accessing the same page obtain and present thecontents stored in step 204. The users may choose to present all layersof the page, or to present one layer or several layers of the page.

The obtaining contents stored in step 204 by all the users accessing thesame page may adopt an initiative notification manner or a periodicalquery manner.

The initiative notification manner includes: after the edited contentsof a layer of the page are stored in step 204, the docbase managementsystem sends a notification message to all users accessing the samedocument with user A, and notifies the users that a layer B of page M inthe document has changed. If a certain user is browsing the page M, theuser terminal may obtain the data of the layer B and present the layer Baccording to the display sequence attribute and transparency attributeof the layer B, and thus the user can see the modifications to the layerB made by user A.

The docbase management system may adopt two manners for sending anotification message, i.e. a broadcasting manner and a targeted sendingmanner.

In the broadcasting manner, the docbase management system broadcasts toall user terminals a message indicating that the contents of a documenthas changed, where the message contains identification information ofthe page and layer whose contents are changed. After receiving themessage, a user terminal may determine whether the page and layeraccessed by itself are changed; if yes, the user terminal updates thepage and layer according to the contents in the docbase managementsystem; otherwise, the user terminal discards the message or do notprocess the message.

In the targeted sending manner, the docbase management system recordsthe page and layer of a document accessed by each user terminal; thedocbase management system sends the message indicating the contents ofthe document are changed to all user terminals accessing contentsrelated to the changed contents (e.g. accessing the same page); the userterminals receiving the message update the contents accessed accordingto the contents in the docbase management system. In the above process,the docbase management system may adopt an explicit manner or animplicit manner for recording the page and layer accessed by each userterminal. In the explicit manner, when opening one layer of a certainpage, the user terminal may send a message to the docbase managementsystem, and the docbase management system records the layer of the pageopened by the user terminal; when closing the layer of the page, theuser terminal may also send a message to the docbase management system,and the docbase management system records the layer of the page closedby the user terminal. In the implicit manner, when the user terminalopens one layer of a page, the docbase management system automaticallyrecords the layer of the page opened by the user terminal; when the userterminal opens another layer or a layer of another page, the docbasemanagement system automatically records the page or the layer newlyopened by the user terminal and that the layer of the page openedearlier is closed. For example, when user A opens page M, the docbasemanagement system records that the page currently opened by the user Ais M; when the user A opens page M+1, the docbase management systemrecords that the page currently opened by the user A is M+1 and that thepage M is closed.

The periodical query manner may include: a user terminal queries thedocbase management system at a predefined time interval, and determineswhether the contents of each layer of the page opened by the userterminal are changed; if the contents of each layer of the page arechanged, the user terminal obtains and presents the contents edited instep 204; otherwise, the process will be terminated. The query processcan be implemented in multiple ways, of which two examples will bedescribed as follows. In the first example, a user may send a request tothe docbase management system through a user terminal for requesting thedocbase management system to return information indicating whether eachlayer of a page is changed; after receiving the request, the docbasemanagement system compares the identifier of the page and theinformation of each layer currently accessed by the user terminal in therequest, e.g. time of last storing and the data abstract of the layerand so on, with the information of the layer stored in the docbasemanagement system, judges whether the contents of each layer of the pageare changed, and sends a judge result to the user terminal. In thesecond example, the user sends a request to the docbase managementsystem through the user terminal for obtaining information of each layerof the page, e.g. requests the docbase management system to return thedata abstract of the layer stored last time or the time when the layeris last stored; after receiving the request, the docbase managementsystem sends the information of each layer to the user terminal; theuser terminal compares the information of each layer currently used bythe user terminal with the information sent by the docbase managementsystem, judges whether the contents of each layer of the page arechanged. When the contents of a layer of the page are changed, multiplemanners can be adopted for updating the data of the layer of the pagecurrently used by the user terminal. For example, when determining thatthe contents of a layer of the page are changed, the docbase managementsystem may send the data of the changed layer directly, or notify theuser terminal of the information of the changed layer, and the userterminal sends a request for obtaining the data of the changed layer tothe docbase management system.

The predefined time interval may be a fixed time interval or a timeinterval updated according to real-time situations. The updating of thetime interval is the same with that in step 204, and will not bedescribed again.

When the docbase management system stores the modifications made by theuser terminal to a layer, other user terminals accessing the same pagecan obtain the contents of the modifications and update the documentcurrently accessed, so that all users accessing the same document couldlearn about the modifications to the contents of the document. Otheruser terminals accessing the same page may select to view contents ofonly one layer or several layers, and thus the user may view themodifications made by other users to each layer.

The determining whether the contents of a layer of a page accessed bythe user terminal are changed may include: the user terminal determineswhether the data of the current layer is identical with the data of thelayer stored in the docbase management system, or determines whether thestoring time of the current layer is identical with the storing timerecorded in the docbase management system; when identical, it isdetermined that the contents of the layer are not changed; otherwise, itis determined that the contents of the layer are changed.

Preferably, the user terminal may determine whether the data of thecurrent layer is identical with the data of the layer stored in thedocbase management system based on the data abstract of the layer in thelayer attributes mentioned in step 201, which reduces the time neededfor the comparison.

After obtaining the contents stored in step 204 according to any of theabove manners, the user terminal may present the contents, which mayinclude: displaying the edited contents of the layer according to thedisplay sequence and the transparency which are edited.

Thus, the method for implementing shared editing of a document accordingto the embodiment of the present invention is completed. The followingdescription takes a specific example for illustrating the variousoperations performed in the embodiment of the present invention.

Suppose there is a docbase DocbaseA which can be established as a UOMLconformed docbase management system. DocbaseA has a DocumentA. Twousers, UserA and UserB, are accessing and editing the DocumentA throughrespective user terminals.

UserA opens page M of the document, and the page M is divided intomultiple layers, and the number of the layers is LayerMNum. By checkingthe contents and attributes of each layer, UserA may determine to modifya certain layer which is allowed to be edited; or the docbase managementsystem allocates to the user a layer which is allowed to be edited andis different from layers allocated to other users; or UserA creates anew layer for editing. Suppose UserA selects to edit layer LayerMIndexof page M, then UserB is prohibited to select layer LayerMIndex of pageM when selecting a layer for editing; instead, UserB has to selectanother layer of page M to edit or create a new layer to edit, or thedocbase management system allocates another layer to UserB.

The UserA may add a text, a graphic element and image data to the layerby utilizing editing functions provided by the user terminal, and setattributes of the objects, e.g. set the font, text size and color forthe text, and set the graphic element as a line, a rectangle or anellipse, and so on. When determining that the user has completed editingone object, the user terminal may store the object automatically; theuser may also store the object manually at any time; or the object maybe stored at a certain time interval automatically. Suppose UserA adds atext object TextObj. When storing the TextObj, the user terminal may addthe TextObj to the layer LayerMIndex directly. After the TextObj isstored, the user and time of last storing the layer LayerMIndex and thedata abstract of the layer in the DocbaseA are updated, and the abovedata in the user terminal is also updated. When determining that UserAcompletes editing the layer, the user terminal notifies the docbasemanagement system to make the layer available for other users to edit.

When the contents of the document are stored in DocbaseA, DocbaseA maysend to all user terminals a message that the contents of the documenthave changed, and the message may include the identifier of layerLayerMIndex of page M of DocumentA. UserB will receive the message. Theuser terminal of UserB determines whether the page opened by the userterminal is page M of DocmentA; if the page opened by the user terminalis page M of DocmentA, the user terminal obtains the data of layerLayerMIndex again, and determines how to draw the LayerMIndex layerbased on the display sequence attribute LayerMIndexZOrder and thetransparency attribute LayerMIndexOp of the layer LayerMIndex. In thisway, UserB can also learn about the modifications made by UserA to thelayer LayerMIndex.

Or, DocbaseA may send a message to all user terminals opening page M ofDocumentA for notifying the user terminals that the layer LayerMIndex ofpage M of the DocumentA has changed. UserB will receive the message. IfUserB are browsing page M, the user terminal draws the layer LayerMIndexaccording to the above mentioned method. In this way, UserB can learnabout the modifications made by UserA to the layer LayerMIndex. TheUserB may also edit and store a selected layer according to the abovemethod. Similarly, UserA can also learn about the modifications made byUserB.

In the above example, UserA and UserB may also query the docbasemanagement system periodically, and obtain the up-to-date data of pageM, so as to update the contents being browsed by UserA and the UserB.

As can be seen from the above example, shared editing of DocumentA bymultiple users can be implemented by UserA and UserB editing differentlayers. After UserA modifies the DocumentA, UserB can receiveinformation in real time about UserA modifying the DocumentA, so as toguarantee the security and interoperation of the data contents of thedocument. Therefore, by adopting the method for implementing sharedediting of a document provided by the present invention, multiple usersmay open a same document to edit, and it can be guaranteed that themodifications made by each user to the document can be stored wholly andall users can view the modifications made by each user to the document.

For facilitating exchanging edited contents among users, a method basedon visual appearance may be employed in the present invention. Visualappearance information is extracted from contents which are edited by auser and then is stored, so that the visual appearance information canbe provided for other users to use (e.g. edit, browse). By using thismethod, incompatibility of different data formats can be avoided. Evendifferent users edit the document contents by employing differentediting software respectively; the same visual appearance is presentedat the different user terminals of the users. In another word, the samedisplaying effect is presented at the different user terminals. So,exchanging edited contents among users who employ different types ofediting software respectively can be achieved. In an embodiment of thepresent invention, the method based on visual appearance is implementedby using a docbase management system. In detail, document data (which isnormally layout document) of a docbase management system has maturecapabilities of describing page layout, it is able to describe anyvisual appearance. Thus, regarding the content edited by a user, nomatter what kind of document format (or storage form) is adopted whenediting, it is feasible to extract visual appearance of the editedcontent and store the extracted visual appearance as document data ofthe docbase management system. Although the document data of the editingsoftware and one of docbase management system may have different dataformat (or storage form), they have the same visual appearances(neglecting possible subtle difference generated during data conversion,which is too subtle to affect the application effect and often can notbe detected by eyes). In this way, the formats of edited contentsneedn't be handled when the edited contents are stored and exchanged.Specifically, the editing software may store visual appearanceinformation of the edited contents by issuing instructions to thedocbase management system, and may obtain visual appearance informationof a specific page of a document by issuing instructions to the docbasemanagement system and present the visual appearance of the page to theuser. Generally, an abstract model (e.g. a universal document model)which has mature abilities for describing page layout is adopted by thedocbase management system, so a document with any visual appearances canbe generated by issuing instructions to the docbase management system.

In an embodiment of the present invention, there is a server whichstores document data. Contents edited by each user terminal will besubmitted to the server for storage. Each user terminal also obtainsdata from the server for using. When further employing the above methodbased on visual appearance, the server may store visual appearanceinformation of the edited contents, i.e. visual appearance informationare extracted from the contents edited by the editing software and thenare stored in the server. Then, when a user terminal queries somecontents for using (eg. editing or browsing), the visual appearanceinformation of the queried contents is obtained from the server and thenprovided for the user terminal. The extraction of the visual appearanceinformation can be implemented by either the server or the userterminals.

According to another embodiment of the present invention, the userterminal uploads the document data generated by a docbase managementsystem (usually a layout document or a part of layout document) to theserver and store the document data in the server. Also, the userterminal obtains the document data from the server, and obtains thevisual appearance information of the document data by invoking thedocbase management system, at this time, the docbase management systemmay be run in the user terminal side. In another embodiment, the docbasemanagement system (or a part of the docbase management system) islocated at the server and the document data (and the visual appearanceof the document data) is stored in the server centralizedly, sodifferent user terminal can access the docbase management system at thesame time. The docbase management system may be constituted byclient/server mode, herein, the client part of the docbase managementsystem is located at the user terminal side and the server part of thedocbase management system is located at the server side. The editingsoftware may be located at user terminal, or may be located at theserver (e.g. web office), or may be constituted by client/server mode.

In an embodiment of the present invention, when providing at least oneportion of a document for a user to modify, the method may furtherinclude: providing other portions of the document for a user to browse.Based on browsing the other portions, the user may modify the at leastone portion better. For example, when a page of a document consists ofseveral layers, the visual appearance of the page consists of the visualappearance of the layers, when a user expects to modify a layer, inorder to assure the modifying effect, besides the layer which the userexpects to modify, other layers which are consisted of the page alsoshould be provided for the user to browse.

The foregoing description covers the preferred embodiments of thepresent invention and is not intended to limit the protective scopethereof. All the modifications, equivalent replacements, or improvementsin the scope of the present invention's principles are included withinthe protective scope of the present invention.

1. A method for implementing shared editing of a document, comprising:dividing a document into portions; when a user modifies the document,the method comprising: providing at least one portion of the portionsfor the user to modify, wherein the at least one portion is prohibitedto be modified by another user at the same time; and storing the portionmodified by the user.
 2. The method of claim 1, wherein the at least oneportion comprises at least one of: at least one section, at least onelayer, at least one page and at least one paragraph of the document. 3.The method of claim 2, wherein the at least one portion comprises any orany combination of: a portion, newly created by the user, of thedocument, a portion pre-allocated to the user or user terminal of theuser, and a portion selected by the user from existing portions whichare allowed to be modified in the document.
 4. The method of claim 3,wherein the portion pre-allocated to the user comprises: a portioncorresponded to the user allocated to the user according to acorresponding relation between characteristics of the user and a portionof the document; or a portion allocated to the user according to theorder of issuing the request.
 5. The method of claim 1, wherein the atleast one portion provided for the user to modify is unlocked portion;the method further comprises: locking the at least one portion when theuser modifies the at least one portion, and forbidding the lockedportion to be modified by other users; and unlocking the locked portionwhen the user finishes modifying the locked portion.
 6. The method ofclaims 1, wherein storing contents of the document according to contentsof the at least one portion modified by the user comprises: storing thecontents of the document corresponding to the at least one portionmodified by the user when receiving a storing request from the user;and/or storing the contents of the document corresponding to the atleast one portion modified by the user when a predefined storingcondition is satisfied.
 7. The method of claim 6, wherein the predefinedstoring condition comprises: reaching a predefined time interval; and/ordetecting that the contents of the at least one portion is changed;and/or detecting that the amount of the changed contents in the at leastone portion reaches a designated amount.
 8. The method of claim 1,further comprising: providing, when a portion opened by the user ismodified, the modified portion for the user.
 9. The method of claim 8,wherein, providing, when a portion opened by the user is modified, themodified portion for the user comprises: determining, when the userterminal of the user queries, whether the queried portion has beenmodified; if yes, providing the modified portion for the user.
 10. Themethod of claim 9, wherein the user terminal of the user queriescomprises: sending, by the user terminal of the user, a query requestwhich includes information of a portion of the document; determiningwhether the queried portion has been modified and providing the modifiedportion to the user comprises: receiving the query request, determiningwhether the data and/or storing time and/or data abstract of the queriedportion is identical with information of the portion stored; if theinformation of the queried portion is not identical with the informationof the portion stored, determining the queried portion has beenmodified; and sending the modified portion to the user.
 11. The methodof claim 8, wherein, providing, when a portion opened by the user ismodified, the modified portion for the user comprises: broadcasting amessage indicating the portion of the document is modified.
 12. Themethod of claim 1, wherein, the document data is stored in a server, theat least one portion of the portions of the document is obtained fromthe server and then is provided for the user to modify; and the portionmodified by the user is stored in the server.
 13. The method of claim 1,storing the portion modified by the user comprising: extracting andstoring visual appearance information of the portion modified by theuser.
 14. The method of claim 13, storing visual appearance informationof the portion modified by the user comprising: issuing instructions tothe docbase management system to generate document data that containsvisual appearance information.
 15. The method of claim 14, wherein,whole or a part of the docbase management system is located in a server,the document data is stored in the server.
 16. The method of claim 1,further comprising: providing other portion of the document for the userto browse; wherein, the user modify the at least one portion based onbrowsing the other portion.
 17. An apparatus for implementing sharedediting of a document, comprising: a first module, adapted to provide atleast one portion of a document for a user to modify when the usermodifies the document, wherein the document comprises at least twoportions, and the at least one portion is prohibited to be modified byanother user at the same time; a second module, adapted to store theportion modified by the user.
 18. The apparatus of claim 17, furthercomprising: a third module, adapted to perform one or more of: providinga modified portion to another user opening the modified portion of thedocument after the second module stores the portion modified by theuser; determining whether a queried portion has been modified when auser terminal of another user queries information of a portion of thedocument; if the queried portion has been modified, providing themodified portion to the another user; notifying other users opening amodified portion after the second module stores the portion modified bythe user.
 19. The apparatus of claim 17, wherein the first module isadapted to provide at least one layer of a page of the document as theat least one portion for the user to modify, wherein the documentcomprises at least one page and each page comprises at least one layer;or the first module is adapted to provide at least one page of a layerof the document as the at least one portion for the user to modify,wherein the document comprises multiple layers and each layer comprisesat least one page.
 20. The apparatus of claims 17, wherein at least oneof the first module, the second module and the third module resides in adocbase management system.